---
type: tutorial
title: Adicione um feed RSS
description: >-
  Tutorial: Construa seu primeiro blog Astro —

  Instale o pacote oficial do Astro para criar um feed que seus leitores podem
  se inscrever em
i18nReady: true
---
import Box from '~/components/tutorial/Box.astro';
import Checklist from '~/components/Checklist.astro';
import PreCheck from '~/components/tutorial/PreCheck.astro';
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
import { Steps } from '@astrojs/starlight/components';

<PreCheck>
  - Instalar um pacote Astro para criar um feed RSS para seu website
  - Criar um feed que pode ser inscrito em e lido por leitores de feeds RSS
</PreCheck>

## Instale o pacote de RSS do Astro

Astro fornece um pacote customizado para rapidamente adicionar um feed RSS ao seu website.

Este pacote oficial gera um documento não-HTML com informação sobre todas as suas postagens do blog que pode ser lido por **leitores de feed** como Feedly, The Old Reader, e mais. Esse documento é atualizado toda vez que seu site é reconstruído.

Indivíduos podem se inscrever em seu feed em um leitor de feed, e receber uma notificação quando você publicar uma nova postagem do blog no seu site, o que o faz uma funcionalidade popular em blogs.

<Steps>
1. Feche o servidor de desenvolvimento do Astro e execute o seguinte comando no terminal para instalar o pacote de RSS do Astro.

    <PackageManagerTabs>
      <Fragment slot="npm">
      ```shell
      npm install @astrojs/rss
      ```
      </Fragment>
      <Fragment slot="pnpm">
      ```shell
      pnpm add @astrojs/rss
      ```
      </Fragment>
      <Fragment slot="yarn">
      ```shell
      yarn add @astrojs/rss
      ```
      </Fragment>
    </PackageManagerTabs>

2. Reinicie o servidor de desenvolvimento para começar a trabalhar no seu projeto Astro novamente.

    <PackageManagerTabs>
      <Fragment slot="npm">
      ```shell
      npm run dev
      ```
      </Fragment>
      <Fragment slot="pnpm">
      ```shell
      pnpm run dev
      ```
      </Fragment>
      <Fragment slot="yarn">
      ```shell
      yarn run dev
      ```
      </Fragment>
    </PackageManagerTabs>
</Steps>

## Crie um documento de feed `.xml`

<Steps>
1. Crie um novo arquivo em `src/pages/` chamado `rss.xml.js`

2. Copie o seguinte código nesse novo documento. Customize as propriedades `title` e `description` (título e descrição), e se necessário, especifique uma língua diferente em `customData`:

    ```js title="src/pages/rss.xml.js"

    import rss, { pagesGlobToRssItems } from '@astrojs/rss';

    export async function GET(context) {
      return rss({
        title: 'Aluno de Astro | Blog',
        description: 'Minha jornada aprendendo Astro',
        site: context.site,
        items: await pagesGlobToRssItems(import.meta.glob('./**/*.md')),
        customData: `<language>pt-br</language>`,
      });
    }
    ```

3. Adicione a propriedade `site` à configuração do Astro com a sua Netlify URL única.

    ```js title="astro.config.mjs" ins={4}
    import { defineConfig } from "astro/config";

    export default defineConfig({
      site: "https://example.com"
    });
    ```

4. Visite `http://localhost:4321/rss.xml` e verifique que vcoê pode ver texto (sem formatação) na página com um `item` para cada um de seus arquivos `.md`. Cada item deve conter informações da postagem de blog como `title`, `url`, e `description`.

    :::tip[Veja seu feed RSS em um leitor]
    Faça o download de um leitor de feed, ou cadastre-se em um serviço de leitor de feed online e inscreva-se no seu site adicionando sua própria URL Netlify. Você também pode compartilhar esse link com outros para que eles possam se inscrever em suas postagens, e ser notificado quando uma nova postagem for publicada.
    :::

</Steps>

<Box icon="check-list">

## Checklist

<Checklist>
- [ ] Eu posso instalar um pacote Astro utilizando a linha de comando.
- [ ] Eu posso criar um feed RSS para meu website.
</Checklist>
</Box>

### Recursos

- [Geração de itens RSS no Astro](/pt-br/recipes/rss/#using-glob-imports)
